package Dominio;

import com.mysql.jdbc.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;

/**
 *
 * @author Puma
 */
public class MysqlConexion {

    private Connection conexion;
    private Statement stmt;
    
    public MysqlConexion()
    {
        Conectar();
    }
    
    private void Conectar(){
         try
         {
             /*     Se carga el driver de conexion hacia la base de datos de mysql
              *     el driver se encuentra almacenado en la libreria mysql-connector-java-5.1.18-bin.jar.
              *     El método getConnection siempre pide, (url de bd, usuario, password)
              *     Si la conexión es exitosa, no cae en la excepcion.
              */
             
             conexion = DriverManager.getConnection("jdbc:mysql://localhost/Irfa","root","");
             
         } catch (Exception e)
         {
             System.out.println("Sin error!!");
         }
    }
    
    public void Desconectar()
    {
        try  { 
            
            //Intento de cierre de conexion.
            
            conexion.close();
            
        } catch (Exception ex) {
            
            System.out.println("Imposible cerrar conexion");
        }
        
    }
    
    public Boolean OperacionDML(String query)
    {
        try {
         
            /* La clase Statement contiene todos los metodos que realizan las operaciones DML,
             * Con la conexion habilitada incialmente se levanta uno de sus metodos (createStatement)
             * se hace la conversion, ya que createStatement retorna Object
             */
            
        stmt = (Statement) conexion.createStatement();
        stmt.executeUpdate(query);
        return true;
        }
        
        catch (Exception ex)
        {
            System.out.println("No se pudo realizar la operacion DML (insert, update, delete)");
            return false;
        }
    }

    public ResultSet retornarConsulta(String query){
        try {            
            
            // Preparamos la consulta
            
        stmt = (Statement) conexion.createStatement();

        ResultSet rs = stmt.executeQuery (query);
        return rs;
        
        } catch (Exception ex) {
            System.out.println("Imposible realizar consulta");
            return null;
        }
    }

}